A cloud platform (i.e., a computing platform for cloud computing) may be employed by many users to store, manage, and process data using a shared network of remote servers. Users may develop applications on the cloud platform to handle the storage, management, and processing of data. In some cases, the cloud platform may utilize a multi-tenant database system. Users may access the cloud platform using various user devices (e.g., desktop computers, laptops, smartphones, tablets, or other computing systems, etc.).
In one example, the cloud platform may support customer relationship management (CRM) solutions. This may include support for sales, service, marketing, community, analytics, applications, and the Internet of Things. A user may utilize the cloud platform to help manage contacts of the user. For example, managing contacts of the user may include analyzing data, storing and preparing communications, and tracking opportunities and sales.
In some cases, the database may support encryption, and may manage multiple encryption keys for different users or tenants. Utilizing many encryption keys across multiple servers within the database system may lead to inefficiencies and security risks (e.g., the database system may not be able to efficiently delete all versions of an encryption key across all application servers upon receiving a key destruction request). Additionally, certain users or tenants may require different security protocols than those provided by an encryption key derivation service of the database system.